package com.rzjm.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 充电设备对象 charger
 *
 * @author ruoyi
 * @date 2022-05-07
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("charger")
public class Charger implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    /**
     * 是否是执行小区标准 0 - 不执行 1 - 执行
     */
    private Integer isEstate;

    /**
     * 所在小区
     */
    private Integer estateId;

    /**
     *  充电规则id
     */
    private Integer chargerRoleId;

    /**
     *  小区名称
     */
    private String estateName;

    /**
     * 充电器名称
     */
    private String chargerName;

    /**
     *  设备sn 编号
     */
    private String chargerSn;

    /**
     * 充电器编号
     */
    private String chargerNum;

    /**
     * 地址
     */
    private String address;

    private String prov;

    private String city;

    /**
     * 设备状态
     */
    private Integer state;

    /**
     *  流量卡编号
     */
    private String simCardNum;

    /**
     * 设备二维码
     */
    private String qrCode;

    /**
     * 经度
     */
    private BigDecimal lng;

    /**
     * 纬度
     */
    private BigDecimal lat;

    /**
     * 添加时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 在线状态
     */
    private Integer onlineState;

    /**
     * 最后在线时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastOnlineTime;
    /**
     * 最后在线时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastOfflineTime;


    /**
     * 负责人id
     */
    private Integer managerWxUserId;
    /**
     * 负责人昵称
     */
    private String managerNickName;
    /**
     * 负责人手机号
     */
    private String managerPhone;

    /**
     * 插口数量
     */
    private Integer pointCount;

    /**
     * 充电单价
     */
    private BigDecimal singlePrice;

    /**
     * $column.columnComment
     */
    private String remark;


    /**
     * 是否免费  0 - 不免费 1 - 免费
     */
    private Integer isFree;

    /**
     *  充电桩 收费类型
     */
    private Integer chargerRoleType;

    /**
     * 免费开始时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date freeBeginTime;

    /**
     * 免费结束时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date freeEndTime;

    /**
     *  最大可接收充电功率，超过断电
     */
    private Double maxPower;

    /**
     *  添加功率
     */
    private Double addPower;
}
